← Doomscroll 📚 Tous les cours

[TAA] Fiche de cours

[TAA] Fiche de cours

Lien Moodle : https://moodle.epita.fr/mod/page/view.php?id=108729

Contenu du cours

UE Concevoir - ECUE Types Algébriques Abstraits

  • Référent : Tom Bricaud
  • Coefficient dans l'UE : 2 / 15

Résumé et contexte

La conception d'un algorithme peut se faire de deux manières : - La première, et aussi la plus simple, est celle qui consiste à coder et à considérer uniquement les types de données créés pour l'occasion et correspondants au langage de programmation utilisé. Leur implémentation se fera via les déclarations de types du langage et l'on utilisera alors les méthodes (procédures et fonctions) qui leur sont propres. Il est, alors, parfois difficile de transcrire facilement l'algorithme vers un autre langage. - La deuxième consiste à définir des types de données abstraits. C'est à dire que l'on va définir pour un type de donnée son nom, sa syntaxe d'utilisation (opérations, paramètres, etc.) et ses propriétés tout en étant détachés de toutes les contingences propres à un langage de programmation et/ou à une machine. Si, par exemple, un problème nécessite l'utilisation d'un graphe, nous nous contenterons de penser à la résolution du problème sans nous soucier du comment sera implémenté ce graphe en mémoire, ni comment seront manipulées ses différentes composantes.

Le cours présente la deuxième méthode au travers de la définition de types abstraits et de quelques types de données simples (types de données séquentielles).

Plan du cours

  • Etude du formalisme d'écriture des types algébriques abstraits :
  • Signature
  • Hiérarchie des types abstraits
  • Propriétés d'un type abstrait
  • Types séquentiels :
  • Les listes (récursives et itératives)
  • Les piles
  • Les files

Aquis d'Apprentissage Visés

  • Décrire et représenter un type de données
  • Expliquer et illustrer le fonctionnement d'un type de données
  • Utiliser tous les types de données élémentaires (séquentiels)

Evaluations

  • [DM] Devoirs maisons = tests Moodle
  • [examB1] Examen écrit (fin B1) = 1h
  • note = 30% [DM] + 70% [examB1]